package com.puppet.test;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;

import java.util.Collections;

public class AutoGenerator {
        public static void main(String[] args) {
            FastAutoGenerator.create("jdbc:mysql://localhost:3306/wnxt?characterEncoding=utf8&useSSL=false",
                    "root", "123456")
                    .globalConfig(builder -> {
                        builder.author("puppet") // 设置作者
                                .enableSwagger() // 开启 swagger 模式
                                .fileOverride() // 覆盖已生成文件
                                .outputDir("D:\\test"); // 指定输出目录
                    })
                    .packageConfig(builder -> {
                        builder.parent("com.puppet") // 设置父包名
                                .moduleName(null) // 设置父包模块名
                                .entity("entity") // 设置实体类的包名 entity  pojo  bean
                                .pathInfo(Collections.singletonMap(OutputFile.xml, "D:\\test\\mapper")); // 设置mapperXml生成路径
                    })
                    .strategyConfig(builder -> {
                        builder.addInclude("wnxt_course_description")// 设置需要生成的表名
                                .addTablePrefix("wnxt_"); // 设置过滤表前缀
                        builder.controllerBuilder().enableRestStyle();// 设置restController
                        builder.entityBuilder().enableLombok();
                    })
                    //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板，默认的是Velocity引擎模板
                    .execute();
        }
    }
